package cn.centec.core.constant;

/**
 * 请求方法
 *
 * @author 延晓磊
 * @since 2023年03月15日
 */
public interface RequestMethod {

    /**
     * 用户业务
     */
    interface User {

        /**
         * 请求：采购系统 > 采购中心
         */
        interface Request{

            /**
             * 采购企业变更
             *
             * 场景：同步采购企业
             */
            String PURCHASER_CHANGE = "changePurchaser";

        }

        /**
         * 接收：采购中心 > 采购系统
         */
        interface Receive{

        }
    }

    /**
     * 招投标业务
     */
    interface Bid {

        /**
         * 请求：采购系统 > 采购中心
         */
        interface Request{

            /**
             * 采购信息-发布（创建采购信息，通知供应商，开始报价）
             *
             * 场景：无 > 报价中（招标开始时间）
             */
            String PURCHASE_START = "startPurchase";
            /**
             * 采购信息-终止（修改采购状态，停止报价）
             *
             * 场景：报价中 > 终止
             */
            String PURCHASE_STOP = "stopPurchase";
            /**
             * 采购信息-延期（修改报价结束时间）
             *
             * 场景：报价中 > 报价中
             */
            String PURCHASE_DELAY = "delayPurchase";
            /**
             * 采购信息-开标（修改采购状态，关闭未确认的报价）
             *
             * 场景：报价中 > 开标（招标结束时间）
             */
            String PURCHASE_OPEN = "openPurchase";
            /**
             * 采购信息-重启（修改采购状态、修改报价结束时间）
             *
             * 场景：开标中 > 报价中
             */
            String PURCHASE_RESTART = "restartPurchase";
            /**
             * 采购信息-流标（修改采购状态，关闭报价，退还保证金）
             *
             * 场景：开标中 > 流标
             */
            String PURCHASE_FLOW = "flowPurchase";
            /**
             * 采购信息-二报（修改采购状态，通知供应商二次报价）
             *
             * 场景：开标中 > 二报中
             */
            String PURCHASE_AGAIN = "againPurchase";

            /**
             * 采购信息-完成（修改采购状态，通知供应商中标）
             *
             * 场景：开标中 > 定标/完成
             */
            String PURCHASE_FINISH = "finishPurchase";

            /**
             * 采购信息-变更中标方（修改采购状态，通知供应商中标/未中标）
             *
             * 场景：已定标 > 变更中标方
             * 场景：已定标 > 增加中标方
             * 场景：已流标 > 选择中标方
             */
            String PURCHASE_CHANGE = "changePurchase";

            /**
             * 合同信息-创建/修改
             */
            String CONTRACT_CREATE = "createContract";
            /**
             * 合同信息-修改状态（20终止，30已签署，99完成）
             */
            String CONTRACT_STATUS_UPDATE = "updateContractStatus";
            /**
             * 合同信息-补充
             */
            String CONTRACT_SUPPLEMENT = "supplementContract";

            /**
             * 订单信息-创建
             */
            String ORDER_CREATE = "createOrder";
            /**
             * 订单信息-取消
             */
            String ORDER_CANCEL = "cancelOrder";
            /**
             * 订单信息-收货完成
             */
            String ORDER_FINISH = "finishOrder";

            /**
             * 查询供应商
             */
            String SUPPLIER_LIST = "listSupplier";

            /**
             * 查询供应商统计表
             */
            String SUPPLIER_LIST_COLLECT = "listSupplierCollect";

            /**
             * 查询供应商报价数据
             */
            String QUERY_OFFER = "queryOffer";

            /**
             * 查询招标信息
             */
            String QUERY_PURCHASE_INFO = "queryPurchaseInfo";
            /**
             * 查询供应商中标数据
             */
            String QUERY_WINNER_DETAIL = "queryWinnerDetail";
            /**
             * 查看供应商
             */
            String SUPPLIER_INFO = "getSupplier";

            /**
             * 新增内部供应商
             */
            String BIND_INSIDE_SUPPLIER = "bindInsideSupplier";
            /**
             * 开启采购企业准入配置
             */
            String OPEN_PURCHASER_ACCESS_CONFIG = "openPurchaserAccessConfig";
            /**
             * 关闭采购企业准入配置
             */
            String CLOSE_PURCHASER_ACCESS_CONFIG = "closePurchaserAccessConfig";

            /**
             * 采购企业审核供应商准入资料
             */
            String PURCHASER_AUDIT_SUPPLIER_INFO = "purchaserAuditSupplierInfo";
        }

        /**
         * 接收：采购中心 > 采购系统
         */
        interface Receive{
            /**
             * 报价信息-创建/修改
             */
            String SUPPLY_CREATE = "createSupply";
            /**
             * 报价信息-取消
             */
            String SUPPLY_CANCEL = "cancelSupply";
            /**
             * 报价信息-修改附件
             */
            String SUPPLY_FILE_UPDATE = "updateSupplyFile";
            /**
             * 订单信息-确认
             */
            String ORDER_CONFIRM = "confirmOrder";
            /**
             * 发货信息-创建
             */
            String DELIVER_CREATE = "createDeliver";
            /**
             * 申请采购企业准入
             */
            String APPLY_PURCHASER_ACCESS = "applyPurchaserAccess";

            /**
             * 校验供应商准入审核
             */
            String CHECK_SUPPLIER_ACCESS_INFO = "checkSupplierAccessInfo";
        }
    }

    /**
     * 商城业务
     */
    interface Mall {

        /**
         * 请求：采购系统 > 采购中心
         */
        interface Request{
            /**
             * 查询商品渠道
             */
            String CHANNEL_MAP = "mapChannel";
            /**
             * 查询商品分类列表
             */
            String CAT_LIST = "listCat";
            /**
             * 查询商品列表
             */
            String ITEM_LIST = "listItem";
            /**
             * 查询商品详情
             */
            String ITEM_INFO = "infoItem";
            /**
             * 提交订单
             */
            String ORDER_SUBMIT = "submitOrder";
            /**
             * 取消订单
             */
            String ORDER_CANCEL = "cancelOrder";
            /**
             * 确认订单
             */
            String ORDER_CONFIRM = "confirmOrder";
            /**
             * 签收订单
             */
            String ORDER_RECEIVE = "receiveOrder";
            /**
             * 查询订单物流
             */
            String ORDER_LOGISTICS_LIST = "listOrderLogistics";
            /**
             * 申请售后
             */
            String ISSUE_SUBMIT = "submitIssue";
        }

        /**
         * 接收：采购中心 > 采购系统
         */
        interface Receive{

            /**
             * 变更订单
             */
            String ORDER_CHANGE = "changeOrder";
            /**
             * 售后变更
             */
            String ISSUE_CHANGE = "changeIssue";
        }
    }
}
